뷰 정렬하기 :: 안드로이드 설치 및 개발[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

안드로이드 설치 및 개발
[1]
등록일:2018-07-21 09:42:39 (0%)
작성자:
제목:뷰 정렬하기

뷰를 정렬하는데는 layout_gravitygravity, 이 두 속성이 사용됩니다.

layout_의 있고 없고 차이는 저번 시간에도 말씀 드렸을 텐데요,
이번에 실습을 통해 그 차이를 다시 한번 알아봅시다~







TextView에 layout_gravity를 center로 지정해봅시다.



 


TextView 자체가 가운데로 이동했습니다!








 


이번에는 gravity를 center로 지정해봅시다.



 


아무 변화가 없는 것 같죠?







 


한번 TextView의 width와 height를 match_parent로 설정해서 넓혀볼까요?



 


글자가 가운데로 이동했습니다! 



그렇습니다.

layout_gravity는 자기 자신을 움직이는 속성이고, gravity는 자신의 내용물을 움직이는 속성입니다.

(레이아웃에 gravity 속성을 적용하면 글자 대신 레이아웃의 자식뷰가 이동합니다.)


이것으로 layout_의 있고 없고 차이, 잘 아시겠죠?






layout_gravity와 gravity는 center 말고도

center_horizontal (가로로만 가운데 정렬)
center_vertical (세로로만 가운데 정렬)
top (꼭대기로)
bottom (바닥으로)
start (왼쪽으로)
end (오른쪽으로)

등 다양한 정렬 옵션을 줄 수 있으며

 


end|bottom 같이 '|' 문자를 사용하여 두 가지 정렬 방식을 동시에 사용할 수도 있습니다.


'|'는 ​백스페이스 왼쪽에 있습니다. 

 

 


'오른쪽으로|바닥으로'를 설정했으니 글자가 우하단으로 이동하게 됩니다.








- 2014년 12월 30일에 추가됨 


미처 설명하지 못한 게 있어 추가합니다. 


layout_ 접두어가 붙은 layout_gravity 속성은 부모 레이아웃의 영향을 받기 때문에 사용할 때 한 가지 주의할 점이 있습니다. 



 

이렇게 리니어 레이아웃이 가로배치 상태일 때는 위, 가운데, 아래 같이 세로 방향으로 밖에 정렬하지 못합니다.

왼쪽에서 오른쪽으로 뷰가 쌓여나가는데 왼쪽, 가운데, 오른쪽으로 정렬할 수 있다면 많은 혼란이 생기겠죠?





 


세로배치 상태일 때도 같은 논리로 왼쪽, 가운데, 오른쪽 같이 가로 방향으로 밖에 정렬하지 못합니다.

뷰가 위에서 아래로 쌓여나가기 때문이죠~

[본문링크] 뷰 정렬하기
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=34743
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.